package ar.uba.fi.algo3.modelo.disparo;

import fiuba.algo3.titiritero.modelo.ObjetoPosicionable;
import ar.uba.fi.algo3.auxiliares.Posicion;
import ar.uba.fi.algo3.modelo.CampoBatalla;
import ar.uba.fi.algo3.modelo.Pieza;

public abstract class Disparo extends Pieza implements Dispara, ObjetoPosicionable{
	
	protected int costo;
	protected Posicion unaPosicion;
	public CampoBatalla unCampoBatalla;
	
	public Disparo(Posicion posicion, CampoBatalla unCampoBatalla){
	
		super(posicion, unCampoBatalla);
	}
	 
	protected void darCosto (int costo){
		
		this.costo= costo;
	}
	
	public int obtenerCosto() {  
		
	    return (this.costo);
	}
	
	public void destruirDisparo (){
		
		this.vive=false;		
	}

	public boolean coincideCon(Posicion posicion) {

		return false;
	}
	
	 public void disparar(Pieza unaPieza) {

		unaPieza.aciertaDisparo();		
	 }
	
	public Disparo crearDisparo(Posicion posicion, CampoBatalla campoBatalla) {
		// TODO Auto-generated method stub
		return null;
	}

	public abstract boolean terminoSuTurno();

	public abstract boolean acerto();

	public abstract String getNombre();
	
}
	